package com.wsjc.common.core.bean;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

@Component("getSpringBeanFactory")
public class GetSpringBeanFactory implements ApplicationContextAware {  
  
    // Spring应用上下文环境  
    private static ApplicationContext applicationContext;  
  
    /** 
     * 实现ApplicationContextAware接口的回调方法。设置上下文环境 
     */
    @Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		GetSpringBeanFactory.applicationContext = applicationContext;  
	}  
  
    /** 
     * @return ApplicationContext 
     */  
    public static ApplicationContext getApplicationContext() {  
        return applicationContext;  
    }  
  
    /** 
     * 获取对象 
     *  
     * @param name 
     * @return Object
     * @throws BeansException 
     */  
    public  Object getBean(String name) throws BeansException {  
        return applicationContext.getBean(name);  
    }

	 
}
